home *** CD-ROM | disk | FTP | other *** search
- program test;
-
- var
- sTmp: string;
- slMask: TStringList;
-
- begin
-
- if not tg_Init then exit;
-
- slMask := TStringList.Create;
- try
-
- repeat
-
- sTmp := tg_GetField( 'File' );
- if sys_ApplyMask( '% - % - % - %', sTmp, slMask ) then begin
- if StrToIntDef( slMask.Strings[ 0 ], 0 ) > 0 then begin //must be track
- tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
- tg_SetField( 'Artist', Trim( slMask.Strings[ 1 ] ) );
- tg_SetField( 'Album' , Trim( slMask.Strings[ 2 ] ) );
- tg_SetField( 'Title' , Trim( slMask.Strings[ 3 ] ) );
- end else begin
- tg_SetField( 'Artist', Trim( slMask.Strings[ 0 ] ) );
- tg_SetField( 'Album' , Trim( slMask.Strings[ 1 ] ) );
- tg_SetField( 'Track' , Trim( slMask.Strings[ 2 ] ) );
- tg_SetField( 'Title' , Trim( slMask.Strings[ 3 ] ) );
- end;
- end else if sys_ApplyMask( '% - % - %', sTmp, slMask ) then begin
- if StrToIntDef( slMask.Strings[ 1 ], 0 ) > 0 then begin //must be track
- tg_SetField( 'Track' , Trim( slMask.Strings[ 1 ] ) );
- tg_SetField( 'Artist', Trim( slMask.Strings[ 0 ] ) );
- end else begin
- tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
- tg_SetField( 'Artist', Trim( slMask.Strings[ 1 ] ) );
- end;
- tg_SetField( 'Title' , Trim( slMask.Strings[ 2 ] ) );
- end else if sys_ApplyMask( '%.%', sTmp, slMask ) then begin
- tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
- tg_SetField( 'Title' , Trim( slMask.Strings[ 1 ] ) );
- end else if sys_ApplyMask( '%-%', sTmp, slMask ) then begin
- if StrToIntDef( slMask.Strings[ 0 ], 0 ) > 0 then begin //must be track
- tg_SetField( 'Track' , Trim( slMask.Strings[ 0 ] ) );
- end else begin
- tg_SetField( 'Artist' , Trim( slMask.Strings[ 0 ] ) );
- end;
- tg_SetField( 'Title' , Trim( slMask.Strings[ 1 ] ) );
- end;
-
- until not tg_Skip;
-
- finally
- slMask.Free;
- end;
-
- end.
-
-